Incorporating Dynamic Analysis and Approximate Reasoning for Declarative Meta-Programing in a Software Re-engineering Setting
ثبت نشده
چکیده
Software re-engineering is a complex process in which a maintainer is confronted with the challenging task of understanding the design of an existing application of which the documentation is often non-existent or no longer up-to-date. To support the software engineer in this precarious undertaking, many design recovery tools based upon declarative meta-programming techniques have been proposed, but most of them are only able to reason about a program’s structural architecture instead of about the exhibited run-time behaviour. This document explores how behavioural analysis can complement structural source code analysis in the detection of software patterns in the broadest sense. Furthermore, interesting software patterns often describe inherently vague concepts which cannot be expressed efficiently in classical logic programming languages. Many software patterns are in addition described by such overly idealised logic rules that real-life variations on the implementation of these abstract patterns can no longer be detected. In this dissertation, we will therefore also study the use of approximate reasoning techniques to overcome these common problems.
منابع مشابه
Incorporating Dynamic Analysis and Approximate Reasoning for Declarative Meta-Programming in a Software Re-engineering Setting
Software re-engineering is a complex process in which a maintainer is confronted with the challenging task of understanding the design of an existing application of which the documentation is often non-existent or no longer up-to-date. To support the software engineer in this precarious undertaking, many design recovery tools based upon declarative meta-programming techniques have been proposed...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملA Formal Semantics and Axiomatization for Specifying the Dynamics of Knowledge-based Systems
We study the KADS specification languages KARL and (ML)2 in a states as algebras setting. The essence of these languages is that they integrate a declarative specification of inferences together with control information. Therefore, these languages can be used to specify the dynamic reasoning process of knowledge-based systems besides their pure input/output behavior. The departure of our discus...
متن کاملApproximate Incremental Dynamic Analysis Using Reduction of Ground Motion Records
Incremental dynamic analysis (IDA) requires the analysis of the non-linear response history of a structure for an ensemble of ground motions, each scaled to multiple levels of intensity and selected to cover the entire range of structural response. Recognizing that IDA of practical structures is computationally demanding, an approximate procedure based on the reduction of the number of ground m...
متن کاملA Formal Semantics for Specifying the Dynamic Reasoning of Knowledge-based Systems
We study the KADS specification languages KARL and (ML)2 in a states as algebras setting. The essence of these languages is that they integrate a declarative specification of inferences together with control information. Therefore, these languages can be used to specify the dynamic reasoning process of knowledge-based systems besides their pure input/output behavior. The departure of our discus...
متن کامل